home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Pointing.idl < prev    next >
Text File  |  1996-05-01  |  3KB  |  97 lines

  1. /*
  2.      File:        Pointing.idl
  3.  
  4.      Contains:    Pointer Family Interface
  5.  
  6.      Version:    Technology:    Copland
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __POINTING_IDL__
  19. #define __POINTING_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __KERNEL_IDL__
  25. #include <Kernel.idl>
  26. #endif
  27. #ifndef __NAMEREGISTRY_IDL__
  28. #include <NameRegistry.idl>
  29. #endif
  30. #ifndef __TYPES_IDL__
  31. #include <Types.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. #if FOR_SYSTEM8_PREEMPTIVE
  37. /**************** Constants ****************/
  38. typedef UInt16                    PTDataRelation;
  39.  
  40. /**************** Public Data Structures ****************/
  41. /* old name is TrackerID */
  42. typedef OpaquePtr                PTTrackerRef;
  43.  
  44. typedef unsigned long            PTButtonState;
  45.  
  46. typedef OpaquePtr                PTButtonStatePtr;            /* Substituted OpaquePtr for ``PTButtonState*'' */
  47.  
  48. typedef SOMLargeStruct            PTPosition;                    /* Derived from a struct of 12 bytes in size */
  49.  
  50. typedef OpaquePtr                PTPositionPtr;                /* Substituted OpaquePtr for ``PTPosition*'' */
  51.  
  52. /* old name is PointerData */
  53. typedef SOMLargeStruct            PTData;                        /* Derived from a struct of 28 bytes in size */
  54.  
  55. typedef OpaquePtr                PTDataPtr;                    /* Substituted OpaquePtr for ``PTData*'' */
  56.  
  57. typedef SOMLargeStruct            PTDeviceModes;                /* Derived from a struct of 6 bytes in size */
  58.  
  59. typedef OpaquePtr                PTDeviceModesPtr;            /* Substituted OpaquePtr for ``PTDeviceModes*'' */
  60.  
  61. typedef OSType                    PTDeviceClass;
  62.  
  63. typedef SOMLargeStruct            PTDeviceIdentifier;            /* Derived from a struct of 255 bytes in size */
  64.  
  65. typedef OpaquePtr                PTDeviceIdentifierPtr;        /* Substituted OpaquePtr for ``PTDeviceIdentifier*'' */
  66.  
  67. typedef SOMLargeStruct            PTDeviceCapabilities;        /* Derived from a struct of 21 bytes in size */
  68.  
  69. typedef OpaquePtr                PTDeviceCapabilitiesPtr;    /* Substituted OpaquePtr for ``PTDeviceCapabilities*'' */
  70.  
  71. typedef SOMLargeStruct            PTPinningRectList;            /* Derived from a struct of 6 bytes in size */
  72.  
  73. typedef OpaquePtr                PTPinningRectListPtr;        /* Substituted OpaquePtr for ``PTPinningRectList*'' */
  74.  
  75. /**************** Client Interfaces ****************/
  76. /* *** Getting information about Devices *** */
  77. /* *** Setting Device Modes *** */
  78. /* *** Registering with the Pointing Family *** */
  79. /*
  80.      PTRegisterNewTracker:
  81.     The client provides a reference to device she wants a connection with,
  82.     and whether buffered and/or static data are needed.  A TrackerRef is
  83.     returned, which the client must use in all future communications with 
  84.     the Pointing Family.  In addition, the size of the PTData structure  
  85.     that the given device generates is returned.  
  86. */
  87. /* *** Maintaining Trackers *** */
  88. /* *** Getting Data *** */
  89. /* DataSize indicates the size of the buffer allocated by the client for dataPtr. */
  90. /* *** Checking Tracker State *** */
  91. #endif
  92.  
  93. #endif /* __SOMIDL__ */
  94.  
  95. #endif /* __POINTING_IDL__ */
  96.  
  97.